Cuckoo: a Language for Implementing Memory- and Thread-safe System Services
نویسندگان
چکیده
This paper is centered around the design of a threadand memory-safe language, primarily for the compilation of application-specific services for extensible operating systems. We describe various issues that have influenced the design of our language, called Cuckoo, that guarantees safety of programs with potentially asynchronous flows of control. Comparisons are drawn between Cuckoo and related software safety techniques, including Cyclone and software-based fault isolation (SFI), and performance results suggest our prototype compiler is capable of generating safe code that executes with low runtime overheads, even without potential code optimizations. Compared to Cyclone, Cuckoo is able to safely guard accesses to memory when programs are multithreaded. Similarly, Cuckoo is capable of enforcing memory safety in situations that are potentially troublesome for techniques such as SFI.
منابع مشابه
Typed Assembly Language for Implementing OS Kernels in SMP/Multi-Core Environments with Interrupts
Although many people still think that it is difficult or even impossible to implement OS kernels in a strictly typed programming language, we dispelled the myth in our previous works by designing and implementing a typed assembly language which is flexible enough to implement essential functionalities of OS kernels (e.g., memory and multi-thread management facilities). Taking a step further, in...
متن کاملStrands : An E cient and Extensible Thread Management Architecture
Applications can signi cantly bene t from specializing thread packages, schedulers and synchronization primitives to their needs. In prior systems, specialization has been accomplished through a partitioning of service across the user-kernel boundary. The kernel provides some basic control ow services while user code implements the specialized interface. This approach, though, has been shown to...
متن کاملImplementing Multiple Protection Domains in Java
Safe language technology can be used for protection within a single address space. This protection is enforced by the language’s type system, which ensures that references to objects cannot be forged. A safe language alone, however, lacks many features taken for granted in more traditional operating systems, such as rights revocation, thread protection, resource management, and support for doma...
متن کاملCreating a Safe, High-Quality Healthcare System for All: Meeting the Needs of Limited English Proficient Populations; Comment on “Patient Safety and Healthcare Quality: The Case for Language Access”
The article by Cheri Wilson, “Patient Safety and Healthcare Quality: The Case for Language Access”, highlights the challenges of providing Culturally and Linguistically Appropriate Services (CLAS) to patients with Limited English Proficiency (LEP). As the US pursues high-value, high-performance healthcare, our ability to meet the needs of our most vulnerable will determine whether we succeed...
متن کاملReducing the complexity of debugging parallel REPLICA programs with pluggable abstraction patterns
Traditional debuggers focus on a single thread at a time or are better suited for concurrent programming with a low number of interacting threads and/or distributed memory, making it hard to monitor a massively data-parallel program on a shared memory multi-core system. This work considers a globally step-synchronous model of computation. Compared to contemporary multi-core processors with inde...
متن کامل